import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


public class P53 {
	private static void combination(List<String> list, String text, String result, int index, int length) {
		
		if (result.length() > length) {
			return;
		}
		
		if (result.length() == length) {			
			list.add(result);
			return;
		}
		
		for (int i = index; i < text.length(); i++) {
			combination(list, text, result + text.charAt(i), i + 1, length);
		}		
	}
	
	private static void combination(List<String> list, String text, String result) {
		if (text.length() == 0) {
			list.add(result);
			return;
		}
		
		for (int i = 0; i < text.length(); i++) {
			combination(list, text.substring(0, i) + text.substring(i + 1), result + text.charAt(i));
		}		
	}
	
	private static List<String> combination(String text) {
		List<String> list = new ArrayList<String>();
		combination(list, text, "");
		return new ArrayList<String>(new HashSet<String>(list));
	}
	
	private static List<String> combination(String text, int length) {
		List<String> list = new ArrayList<String>();
		combination(list, text, "", 0, length);
		return new ArrayList<String>(new HashSet<String>(list));
	}
	
	public static BigInteger factorial(int n) {
		BigInteger f = new BigInteger("1");
		for (int i = 2; i <= n; i++) {
			f  = f.multiply(new BigInteger(String.valueOf(i)));
		}
		return f;
	}
	
	public static void main(String[] args) {		
		int count = 0;
		Set<Integer> set = new HashSet<Integer>();
		for (int n = 1; n <= 100; n++) {
			for (int r = 0; r <= n; r++) {				
				BigInteger x = factorial(n).divide(factorial(r).multiply(factorial(n - r)));
				if (x.compareTo(new BigInteger("1000000")) > 0) {
					count++;					
					set.add(n);
					System.out.println(n + "C" + r + "=" + x);
				}
			}
		}
		
		System.out.println(count);
		System.out.println(set.size());
	}
}
